Alternate tape repositioning method during data recovery

ABSTRACT

A method of alternate tape repositioning during data recovery which takes advantage of the reverse half of the tape forward/reverse cycle to perform an error recovery procedure invoking, thereby reducing total data recovery time. In the event that a tape drive fails to read a target data block, the tape continues its linear travel until a forward ramp-up point beyond the target data block is reached. The tape drive changes tape travel direction to a reverse linear travel direction. When the tape heads are on top of the target data block, a first error recovery procedure invoking is performed in the reverse linear travel direction. If the first error recovery procedure invoking fails to recover data, tape continues its reverse linear travel until a reverse ramp-up point past the target data block is reached. Once again, the tape drive changes tape linear travel direction and a second error recovery procedure invoking is executed in the forward linear travel direction. The procedure of advancing tape, changing tape travel direction and invoking an error recovery procedure invoking continues until the data at the target data block is recovered, or until a pre-selected number of error recovery procedures invoking have been executed.

FIELD OF THE INVENTION

The present invention relates generally to storage and retrieval of dataon magnetic tape and more particularly to a method of alternate taperepositioning during data recovery.

BACKGROUND

Controller electronics for a tape drive may include error correction anddetection circuitry (ECC) to detect and correct data transfer errors indata retrieved from and written to a tape on a tape drive. ECC isapplied to data “on-the-fly” as data is transferred to or from themedia. Severe faults may render some errors unrecoverable by the ECCengine compromising integrity of the data. Tape drive firmware mayinclude a module that may be activated to recover data which has beenshown to be non-recoverable employing the ECC.

A fault causing a data transfer error may originate in the media, theread/write transducers, or drive electronics. However, it may bedifficult for the controller to determine where the fault resides andconsequently apply an effective recovery. Existing non-ECC errorrecovery methods typically consist of a sequence of predetermined errorrecovery procedures (ERP). An ERP may include: multiple attempts to reador write the data; a re-tensioning of the tape followed by an attempt toreread the data; changing the channel filter parameters and retry; tapehead cleaning operations and other similar rehabilitative measures.These ERP are applied in a predetermined sequence regardless of thenature of the fault that caused the data error.

Attempts to read or write the data multiple times involve reversing thetape back to a ramp-up point before a target data block and acceleratingto the target data block to be read or written again. Every time a retryfails, the tape drive reverses tape travel direction and continues itsreverse linear travel until a ramp-up point past the target data blockis reached. If the non-ECC recovery consists, for example of a sequenceof twenty retries, then twenty tape forward/reverse cycles must occur tocomplete the process making the error recovery attempt time consuming.Additionally, repeated cycles may eventually cause tape degradation.

SUMMARY

The present invention is directed to a method of alternate taperepositioning during data recovery. According to the invention, an ERPis performed during both the forward half and the reverse half of theforward/reverse cycle. The method takes advantage of the reverse half ofthe tape forward/reverse cycle, to perform an ERP thereby reducing totaldata recovery time. A non-ECC recovery module may include as an exampleten error recovery procedures, ERP1 trough ERP10. ERP1 trough ERP10 mayinclude one or more error recovery procedures.

In the event that a tape drive fails to read a target data block, thetape continues its linear travel until a forward ramp-up point beyondthe target data block is reached. The tape drive changes linear traveldirection. When the tape heads are on top of the target data block, afirst error recovery procedure is performed in the reverse linear traveldirection. If the first error recovery procedure fails then the tapecontinues its reverse linear travel until a reverse ramp-up point pastthe target data block is reached. Once again, the tape drive changeslinear travel direction and a second error recovery procedure isperformed in the forward linear travel direction. If the error recoveryprocedure fails then the tape continues its forward linear travel to theforward ramp-up point. Once again, the tape drive changes tape traveldirection and a third error recovery procedure is performed in thereverse linear travel direction. The procedure of tape advance, changetape travel direction and execute error recovery procedure continuesuntil the data at the target data block is recovered, or until apre-selected number of error recovery procedures have been executed. Inthe event that the pre-selected number of error recovery procedures havebeen executed without successful data recovery, a drive host may benotified of the failure to retrieve the data.

DESCRIPTION OF THE DRAWINGS

FIG. 1 is a perspective representational view of a tape drive;

FIG. 2 is a schematic diagram of a tape drive;

FIG. 3 is schematic diagram depicting a tape format;

FIG. 4 is a flow chart depicting operation of a tape drive; and

FIG. 5 is a flow chart depicting the steps of an alternate method oftape repositioning during data recovery.

DESCRIPTION

FIG. 1 shows one configuration of tape drive 10 including tape cartridge20 loaded therein. Tape drive 10 includes tape head 11 and tape headcleaning device 12 similar to the head cleaner described in U.S. Pat.No. 5,930,089. Tape 21 is wound about storage reel 22 held in tapecartridge 20 and take-up reel 23. Tape 21 is positioned for lineartravel across tape head 11. Tape head cleaning device 12 is configuredto permit movement directly against tape head 11. As shown in FIG. 1,tape 21 travels across roller guides 13 and 14, and stationary guides 15and 16. Tape head 11 is positioned between stationary guides 15 and 16so that tape 21 is tensioned against tape head 11 during normaloperation.

FIG. 2 is a schematic diagram showing tape drive 10 including tape head11. Tape drive 10 also includes control circuitry 30 including driveinterface 40. Control circuitry 30 also includes controller 31 whichcontrols the read/write operations of tape drive 10. Control circuitry30 may include memory 35 for maintaining a variety of executableinstructions including read procedure 32, write procedure 33 and drivers34. A write operation may be performed by controller 31 executing writeprocedure 33. Data to be written onto tape 21 are encoded by controller31 and transmitted to driver 39. Similarly, a read operation may beperformed by controller 31 executing read procedure 32. Controlcircuitry 30 also includes ECC engine 36 and non-ECC error recoverymodule 37. Data input into and output from tape 21 are transmitted attape/head interface 17. In a read operation, data D is conducted throughECC engine 36. If data D includes data transfer errors which arecorrectable by ECC engine 36, correction is made and the corrected dataflows upstream through controller 31. In the event data signal Dincludes data transfer errors which are uncorrectable by ECC engine 36,controller 31 initiates operation of non-ECC error recovery module 37.Drive interface 40 permits connection to host 41.

FIG. 3 is schematic diagram depicting tape 21 including a pluralitysequential data blocks D. FIG. 3 shows tape head 11 contacting tape 21at target data block TDB. Tape 21 is driveable in both a first lineartape travel direction or forward linear tape travel direction F and asecond or reverse linear tape travel direction R. First ramp-up point FPis located beyond target data block TDB and second ramp-up point RPlocated behind target data block TDB.

FIG. 4 is a flow chart depicting typical tape drive operation. Operationinitiates at Start 50. A tape cartridge is loaded at Load New Cartridge51. Read Data 52 initiates data transfer. Is Data Non-ECC Error Free? 53represents “on-the-fly” operation of the ECC as data is transferred toor from the media and determines if a failure to transfer data isattributable to a non-ECC Error. In the event that error correction anddetection circuitry detects an error which is non-recoverable by theerror correction and detection circuitry, Non-ECC Error Recovery 55 isinvoked. So long as the data is free of error or data error iscorrectable and recoverable by the ECC, the process continues with readdata 52.

FIG. 5 is a flow chart depicting steps of operation for a method of taperepositioning during data recovery following identification of a non-ECCrecoverable error. Start Tape Reposition 60 initiates the process.Initially, the process determines linear tape travel direction atDetermine Tape Direction 61. If linear tape travel direction is reverse,then Advance To Reverse Ramp-up Point 62 continues reverse linear tapetravel direction to reverse ramp-up point behind the target data block.If linear tape travel direction is forward, then Advance To ForwardRamp-up Point 63 continues forward linear tape travel direction toforward ramp-up point past the target data block.

Change Tape Direction 64 then changes linear tape travel direction. Inthe event that linear tape travel direction was forward, Change TapeDirection 64 changes linear tape travel direction to reverse linear tapetravel direction. In the event that linear tape travel direction wasreverse, Change Tape Direction 64 changes linear tape travel directionto forward linear tape travel direction. Invoke ERP 65 initiatesoperation of any of a pre-selected group of error recovery procedure.Following execution of the error recovery procedure, the processdetermines if data was recovered at Read Successful 66.

If the error recovery procedure has recovered the target data, theprocess determines linear tape travel direction at Determine TapeDirection During Recovery 67. In the event that linear tape traveldirection was forward during data recovery, then the tape drivecontinues forward linear tape travel direction and Resume Stream Reads68 returns the process to read data 54. In the event that linear tapetravel direction was reverse, Change Tape Direction 69 changes lineartape travel direction to forward linear tape travel direction. The tapedrive continues forward linear tape travel direction and Resume StreamReads 68 returns the process to read data 54.

If the error recovery procedure has not recovered the target data, theprocess determines if a pre-selected number of error recovery procedureshave been executed at Maximum Number of Retries Exceeded 70. If thepre-selected number of error recovery procedure have been executed thenan unrecoverable error is reported to a tape drive host at Report ReadFailure to Host 71. If the pre-selected number of error recoveryprocedure have not been executed then the process returns to TapeDirection during data failure 61 and the process repeats until thetarget data is recovered or until a pre-selected number of errorrecovery procedure have been executed.

In operation, when tape drive 10 fails to read target data block TDB,tape 21 continues forward linear tape travel direction F until firstramp-up point FP, beyond target data block TDB is reached. Tape drive 21changes linear tape travel direction to a reverse linear tape traveldirection R. When tape head 11 is on top of target data block TDB, afirst error recovery procedure is performed in the reverse linear tapetravel direction R. If the first error recovery procedure fails torecover the data at target data block TDB then tape 21 continues reverselinear tape travel direction R until second ramp-up point RP is reachedbehind target data block TDB. Tape 21 changes and when tape head 11 ison top of target data block TDB, a second error recovery procedure isperformed in forward linear tape travel direction F. If the second errorrecovery procedure fails then tape 21 continues its forward linear tapetravel direction F until forward ramp-up point FP located beyond targetdata block TDB is reached. Once again, tape 21 changes linear tapetravel direction to reverse linear tape travel direction R and when tapehead 11 is on top of target data block TDB, a third error recoveryprocedure is performed in reverse linear tape travel direction R. Themethod of tape repositioning during data recovery may continue with afourth error recovery procedure, a fifth error recovery procedure and soon until data at target data block TDB is recovered, or until apre-selected number of retries allowed is reached.

While this invention has been described with reference to the detailedembodiments, this is not meant to be construed in a limiting sense.Various modifications to the described embodiments, as well asadditional embodiments of the invention, will be apparent to personsskilled in the art upon reference to this description. It is thereforecontemplated that the appended claims will cover any such modificationsor embodiments as fall within the true scope of the invention.

What is claimed is:
 1. A method of repositioning a tape for datarecovery following a failure to transfer data, the method comprising:continuing a first linear tape travel direction to a first ramp-uppoint; changing the first linear tape travel direction to a secondlinear tape travel direction; continuing the second linear tape traveldirection to a target data block; and invoking a first error recoveryprocedure at the target data block.
 2. The method of repositioning atape for data recovery of claim 1 further comprising a first step ofdetermining a first linear tape travel direction during the failure totransfer data.
 3. The method of repositioning a tape for data recoveryof claim 1 further comprising determining if the first error recoveryprocedure was successful recovering data at the target data block. 4.The method of repositioning a tape for data recovery of claim 3 furthercomprising: changing the second linear tape travel direction to thefirst linear tape travel direction; and resuming data transfer.
 5. Themethod of repositioning a tape for data recovery of claim 1 furthercomprising: continuing a second linear tape travel to a second ramp-uppoint beyond the target data block; changing the linear tape traveldirection to the first linear tape travel direction; invoking a seconderror recovery procedure invoking at the target data block; anddetermining if the second error recovery procedure was successfulrecovering data at the target data block.
 6. The method of repositioninga tape for data recovery of claim 5 further comprising resuming datatransfer.
 7. The method of repositioning a tape for data recovery ofclaim 5 further comprising: continuing a first linear tape traveldirection to a first ramp-up point; changing the first linear tapetravel direction to a second linear tape travel direction; continuingthe second linear tape travel direction to a target data block; andinvoking a third error recovery procedure at the target data block; anddetermining if the third error recovery procedure recovered data at thetarget data block.
 8. The method of repositioning a tape for datarecovery of claim 1 wherein the first linear tape travel directionfurther comprises a forward linear tape travel direction.
 9. The methodof repositioning a tape for data recovery of claim 1 wherein the secondlinear tape travel direction further comprises a reverse linear tapetravel direction.
 10. The method of repositioning a tape for datarecovery of claim 1 wherein the first error recovery procedure furthercomprises an attempt to re-read data.
 11. A method of repositioning atape for data recovery following a failure to transfer data, the methodcomprising: continuing a first linear tape travel direction to a firstramp-up point; changing the first linear tape travel direction to asecond linear tape travel direction; continuing the second linear tapetravel direction to a target data block; invoking a first error recoveryprocedure at the target data block; and determining if the first errorrecovery procedure was successful recovering data at the target datablock.
 12. The method of repositioning a tape for data recovery of claim11 further comprising: changing the second linear tape travel directionto the first linear tape travel direction; and resuming data transfer.13. The method of repositioning a tape for data recovery of claim 11further comprising: continuing a second linear tape travel to a secondramp-up point beyond the target data block; changing the linear tapetravel direction to the first linear tape travel direction; invoking asecond error recovery procedure invoking at the target data block; anddetermining if the second error recovery procedure was successfulrecovering data at the target data block.
 14. The method ofrepositioning a tape for data recovery of claim 13 further comprisingresuming data transfer.
 15. The method of repositioning a tape for datarecovery of claim 13 further comprising: continuing a first linear tapetravel direction to a first ramp-up point; changing the first lineartape travel direction to a second linear tape travel direction;continuing the second linear tape travel direction to a target datablock; invoking a first error recovery procedure at the target datablock; and determining if the first error recovery procedure wassuccessful recovering data at the target data block.
 16. The method ofrepositioning a tape for data recovery of claim 15 further comprising:changing the second linear tape travel direction to the first lineartape travel direction; and resuming data transfer.
 17. The method ofrepositioning a tape for data recovery of claim 15 further comprising:continuing a second linear tape travel to a second ramp-up point beyondthe target data block; changing the linear tape travel direction to thefirst linear tape travel direction; invoking a second error recoveryprocedure invoking at the target data block; and determining if thesecond error recovery procedure was successful recovering data at thetarget data block.
 18. The method of repositioning a tape for datarecovery of claim 11 wherein the first error recovery procedure furthercomprises an attempt to re-read data at the target data block.
 19. Themethod of repositioning a tape for data recovery of claim 11 furthercomprising determining if a predetermined number of error recoveryprocedures have been executed.
 20. The method of repositioning a tapefor data recovery of claim 11 further comprising reporting to a hostthat a predetermined number of error recovery procedures have beenexecuted.
 21. A method of repositioning a tape for data recoveryfollowing a failure to transfer data, the method comprising: continuinga first linear tape travel direction to a first ramp-up point; changingthe first linear tape travel direction to a second linear tape traveldirection; continuing the second linear tape travel direction to atarget data block; invoking a first error recovery procedure at thetarget data block, the first error recovery procedure including a tapehead cleaning operation; and determining if the first error recoveryprocedure was successful recovering data at the target data block.
 22. Amethod of repositioning a tape for data recovery following a failure totransfer data, the method comprising: continuing a first linear tapetravel direction to a first ramp-up point; changing the first lineartape travel direction to a second linear tape travel direction;continuing the second linear tape travel direction to a target datablock; invoking a first error recovery procedure at the target datablock, the first error recovery procedure selected from a group of errorrecovery procedures including multiple attempts to read or write thedata, re-tensioning the tape followed by an attempt to reread the data,changing channel filter parameters and tape head cleaning operation; anddetermining if the first error recovery procedure was successfulrecovering data at the target data block.
 23. A method of error recoveryincluding repositioning a tape following a failure to transfer data, themethod comprising: failing to transfer data at a data block of a tapetraveling in a first direction; continuing the tape in the firstdirection to a first point beyond the data block; reversing the tape totravel in a second direction; performing a first error recoveryprocedure at the data block while the tape travels in the seconddirection; continuing the tape in the second direction to a second pointbeyond the data block; reversing the tape to travel in the firstdirection; determining if the first error recovery procedure wassuccessful in recovering data at the target data block; and performing asecond error recovery procedure at the data block while the tape travelsin the first direction.